home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue37 / DynArr / Array5U2.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-07-03  |  1.3 KB  |  63 lines

  1. unit Array5U2;
  2.  
  3. interface
  4.  
  5. uses
  6.   Classes;
  7.  
  8. type
  9.   TIntegerArray = class
  10.   private
  11.     FElements: TList;
  12.     function GetElement(Index: Integer): Integer;
  13.     procedure SetElement(Index: Integer; const Value: Integer);
  14.     function GetSize: Integer;
  15.     procedure SetSize(const Value: Integer);
  16.   public
  17.     constructor Create(ArraySize: Integer);
  18.     destructor Destroy; override;
  19.     property Element[Index: Integer]: Integer
  20.       read GetElement write SetElement; default;
  21.     property Size: Integer read GetSize write SetSize;
  22.   end; { TIntegerArray }
  23.  
  24. implementation
  25.  
  26. { TIntegerArray }
  27.  
  28. constructor TIntegerArray.Create(ArraySize: Integer);
  29. begin
  30.   inherited Create;
  31.   FElements := TList.Create;
  32.   FElements.Count := ArraySize
  33. end;
  34.  
  35. destructor TIntegerArray.Destroy;
  36. begin
  37.   FElements.Free;
  38.   FElements := nil;
  39.   inherited Destroy
  40. end;
  41.  
  42. function TIntegerArray.GetElement(Index: Integer): Integer;
  43. begin
  44.   Result := Integer(FElements[Index])
  45. end;
  46.  
  47. function TIntegerArray.GetSize: Integer;
  48. begin
  49.   Result := FElements.Count
  50. end;
  51.  
  52. procedure TIntegerArray.SetElement(Index: Integer; const Value: Integer);
  53. begin
  54.   FElements[Index] := Pointer(Value)
  55. end;
  56.  
  57. procedure TIntegerArray.SetSize(const Value: Integer);
  58. begin
  59.   FElements.Count := Value
  60. end;
  61.  
  62. end.
  63.